The present invention relates to nonvolatile memory systems. More particularly, the present invention relates to a semiconductor disk device incorporating a nonvolatile memory system as a storage medium and a related data processing method.
Flash memory is a form of electrically erasable nonvolatile memory that has gained wide acceptance in such applications as computers, memory cards, etc. Flash memory is also used in portable information devices such as cellular phones, PDAs, and digital cameras. Flash memory is also being used as a replacement for, or in conjunction with, bulk data storage devices, such as hard disk drives (HDDs).
Emerging portable information devices require large amounts of data storage capacity in order to provide high-end data processing functionality (e.g., video playback). Many different approaches have been proposed over the years to meet this requirement. For example, memory devices incorporating multi-bit memory cells have been actively developed. A multi-bit memory device includes memory cells capable of storing 2 or more bits of data per memory cell. A memory cell adapted to store multi-bit data is commonly referred to as a Multi-Level Cell (MLC). In contrast, a memory cell adapted to store 1-bit data is commonly referred to as a Single-Level Cell (SLC). Flash memory devices incorporating an array of MLCs enjoy increased data storage capacity over similarly sized memory arrays of SLCs. However, the process of writing data to a memory cell array of MLCs takes considerably longer than SLC memory arrays.
Given this MLC/SLC tradeoff between data storage capacity and write operation speed, many contemporary flash memory devices are hybrid type devices including some SLCs operating at a higher speed and some MLCs providing expanded data storage capacity. In particular, hybrid NAND flash memory has been introduced with notable advances in performance. The hybrid NAND flash memory can selectively use either MLCs or SLCs to store data. In addition, recent technical advances allow both high speed operation and high data storage capacity by mounting a SLC memory chip and a MLC memory chip in a single integrated circuit package. Such improved device integration and packaging techniques improve overall performances while reducing cost.
Such improvements allow the cost effective manufacture of products including both high-cost nonvolatile memory operating at relatively low write speeds and low-cost nonvolatile memory operating at relatively high write speeds. In such products, the overall performance of the data storage device depends on the “write management” of data between these two different types of memory cells. That is, the high-speed SLC memory is commonly used to store frequently and randomly accessed data in relatively small data blocks (i.e., so-called “hot data”). This approach speeds overall data access performance and limits the number of erase operations applied to the low speed MLC memory during repeated write operations.
Thus, as compared with other forms of memory, flash memory enables high-speed data access at relatively low cost. However, an erase operation must typically be performed prior to a write operation in flash memory. Further, the unit size of data to be erased is usually larger than that of data to be written. These technical considerations make it difficult to use the flash memory as a main memory and directly use a common hard-disk file system even when the flash memory is used as an auxiliary storage device. Therefore, a flash translation layer (hereinafter referred to as “FTL”) is used between the file system and the flash memory to conceal erase operations applied to the flash memory.
The FTL essentially maps a logic address generated by the file system onto a physical address within the flash memory performing an erase operation during the write operation. A variety of FTL schemes have been conventionally proposed. One type of FTL scheme is the so-called log block mapping scheme. The log block mapping scheme uses a limited number of log blocks as a write buffer. Given the foregoing address mapping function for the FTL, a host device may recognize the flash memory device as a hard disk drive (or SRAM) and access the flash memory device in a manner similar to a hard disk drive.
As the price of flash memory has dropped over time, it has been increasingly used as a bulk data storage medium replacing conventional hard disk storage devices. Such flash memory based, bulk data storage devices are commonly referred to as solid-state drives or solid-state disks (hereinafter denoted as “SSD”). According to typical data access operations within a SSD, data may be written to or retrieved from memory at high speed without the search time and failure rate typical of HDDs which require the operation of various electro-mechanical components. Further, SSDs are not easily damaged even by external impact and its operation is characterized by low heat and low noise generation, and reduced power consumption. Moreover, it is possible to make SSDs light and compact. Therefore, the demand for SSDs is increasing with trends towards higher performance portable information devices requiring large data storage capacity. Accordingly, there have been extensive studies on SSDs and their ability to provide high speed data access with high reliability.